/*
	Onion HTTP server library
	Copyright (C) 2010-2011 David Moreno Montero

	This program is free software: you can redistribute it and/or modify
	it under the terms of the GNU Affero General Public License as
	published by the Free Software Foundation, either version 3 of the
	License, or (at your option) any later version.

	This program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU Affero General Public License for more details.

	You should have received a copy of the GNU Affero General Public License
	along with this program.  If not, see <http://www.gnu.org/licenses/>.
	*/

#ifndef __BUFFER__
#define __BUFFER__

/**
 * @short Basic buffer type for using on onion tests
 */
typedef struct{
	char *data;
	size_t size;
	off_t pos;
}buffer;


int buffer_append(buffer *handler, const char *data, unsigned int length);
buffer *buffer_new(size_t size);
void buffer_clear(buffer *b);
void buffer_free(buffer *b);

#endif
